A Framework for Language-Based Cryptographic Proofs
نویسندگان
چکیده
Motivation In cryptography, provable security advocates a mathematical approach where the goals and requirements of cryptographic systems are specified precisely, and where the security proof is carried out rigorously and makes explicit the assumptions it relies upon. Typically, security objectives are expressed in complexity-theoretical terms and refer to the probability of an efficient adversary to thwart a security objective (e.g. secrecy), whereas security proofs are “reductionist”, i.e. prove that the existence of an efficient adversary contradicts a computational assumption (e.g. that the Decisional Diffie-Hellman problem is hard). The game-playing technique is a general method to structure and unify cryptographic proofs that has been widely applied in the literature. In essence, the game-playing technique suggests to view the interaction between an unknown efficient adversary and a cryptosystem as a probabilistic game depending on security a parameter η where the winning probability of the adversary corresponds to the probability of breaking a given security property. The initial game is stepwise transformed in a security-preserving fashion into a final game where it is easy to analyze and bound the winning probability. Since the transformations are security-preserving, one can argue that the same bound holds for the initial game and, if this bound is a negligible function of η, then the probability of breaking the security property of the system is also negligible. Although the adoption of provable security and the gameplaying technique has significantly enhanced confidence in cryptographic systems, the community is increasingly wary about security proofs: several published proofs have been found incorrect, and in general proofs are becoming too complex to be verified. This is partly due to the fact that proofs are rather involved and rely on different kinds of mathematical reasoning including complexity theory, probability theory and group theory. However, the main reason is to be found in the difficulty in pinpointing the underlying hypotheses in the proof and in isolating the creative and original parts from the uninteresting steps recurring – with variations – in every other proof. Bellare and Rogaway [1], and Halevi [3] propose the gameplaying technique as a natural solution for taming the complexity of proofs and recognize that a fully-specified programming language is required to code games. We believe cryptographers could greatly benefit from a framework for formalizing and verifying the transformations in game-based cryptographic proofs and propose a language-based framework built on top of the Coq proof assistant.
منابع مشابه
Formal certification of game-based cryptographic proofs. (Certification formelle de preuves cryptographiques basées sur les séquences de jeux)
The game-based approach is a popular methodology for structuring cryptographic proofs as sequences of games. Game-based proofs can be rigorously formalized by taking a code-centric view of games as probabilistic programs and relying on programming language techniques to justify proof steps. In this dissertation we present CertiCrypt, a framework that enables the machine-checked construction and...
متن کاملProgramming Language Techniques for Cryptographic Proofs
CertiCrypt is a general framework to certify the security of cryptographic primitives in the Coq proof assistant. CertiCrypt adopts the code-based paradigm, in which the statement of security, and the hypotheses under which it is proved, are expressed using probabilistic programs. It provides a set of programming language tools (observational equivalence, relational Hoare logic, semantics-prese...
متن کاملA Calculus for Game-Based Security Proofs
The game-based approach to security proofs in cryptography is a widely-used methodology for writing proofs rigorously. However a unifying language for writing games is still missing. In this paper we show how CSLR, a probabilistic lambda-calculus with a type system that guarantees that computations are probabilistic polynomial time, can be equipped with a notion of game indistinguishability. Th...
متن کاملFormal verification of cryptographic security proofs
Verifying cryptographic security proofs manually is inherently tedious and error-prone. The game-playing technique for cryptographic proofs advocates a modular proof design where cryptographic programs called games are transformed stepwise such that each step can be analyzed individually. This code-based approach has rendered the formal verification of such proofs using mechanized tools feasibl...
متن کاملThe Foundational Cryptography Framework
We present the Foundational Cryptography Framework (FCF) for developing and checking complete proofs of security for cryptographic schemes within a proof assistant. This is a general-purpose framework that is capable of modeling and reasoning about a wide range of cryptographic schemes, security definitions, and assumptions. Security is proven in the computational model, and the proof provides ...
متن کاملCertifying Assembly with Formal Cryptographic Proofs: the Case of BBS
With today’s dissemination of embedded systems manipulating sensitive data, it has become important to equip low-level programs with strong security guarantees. Unfortunately, security proofs as done by cryptographers are about algorithms, not about concrete implementations running on hardware. In this paper, we show how to perform security proofs to guarantee the security of assembly language ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007